package 拓展新知识;

/**
 *首先需要说明下，本提到的 @NotEmpty、@NotBlank、@NotNull 分别是
 * javax.validation.constraints.NotEmpty
 * javax.validation.constraints.NotBlank
 * javax.validation.constraints.NotNull
 *
 * 通过注解的方式我们可以更加优雅的对参数的格式进行校验，
 * 但是在使用 @NotEmpty、@NotBlank、@NotNull 的过程中，由于含义有点类似，
 * 所以导致使用的时候会有一些迷茫，下面，对这三个注解逐一进行使用上的说明：
 *
 * @NotNull
 * 适用于基本数据类型(Integer , Long , Double等等)，
 * 当 @NotNull 注解被使用在 String 类型的数据上，则表示该数据不能为 Null（但是可以为 Empty）
 * @NotBlank
 * 适用于 String 类型的数据上，加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0
 * @NotEmpty
 * 适用于 String、Collection集合、Map、数组等等，加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0
 * 在使用这些注解的时候，还需要注意一点（注：否则会造成注解无效哦！！），
 * 那就是在Controller 层定义方法的时候在参数位置上加上 @Valid（javax.validation.Valid） 注解！！！
 * 如下图：
 * 拓展新知识\NotEmpty_NotBlank_NotNull.png
 *
 */
public class 配置字段值注解 {
}
